﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Presentation.Classes;
using System.IO;

namespace Presentation.Pages
{
    public partial class fotos : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                getFotos();
        }

        private void getFotos()
        {
            try
            {
                if (this.Request.QueryString["id"] != null)
                {
                    DEFoto fotos;
                    int id = Int32.Parse(this.Request.QueryString["id"]);
                    using (ministerioprosperid1Entities banco = new ministerioprosperid1Entities())
                    {
                        var q = from e in banco.DEFotoes
                                where e.Codigo.Equals(id)
                                select e;

                        fotos = q.FirstOrDefault();

                        if (fotos == null)
                            this.ClientScript.RegisterClientScriptBlock(this.GetType(), "key", "alert('Album de fotos não encontrado.');window.location='index.aspx';", true);
                        else
                        {
                            this.Title = fotos.Titulo;
                            this.lblTitulo.Text = fotos.Titulo;

                            List<FotoDinamica> TodasFotos = new List<FotoDinamica>();
                            string[] caminhos = Directory.GetFiles(Server.MapPath("../fotos/" + fotos.Diretorio));
                            foreach (string caminho in caminhos)
                            {
                                FileInfo newFile = new FileInfo(caminho);
                                TodasFotos.Add(new FotoDinamica() { 
                                    caminhoCompleto = (getPath(fotos.Diretorio) + newFile.Name), 
                                    titulo = fotos.Titulo });
                            }

                            rptFotos.DataSource = TodasFotos;
                            rptFotos.DataBind();
                        }
                    }
                }
                else
                    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "key", "alert('Album de fotos não encontrado.');window.location='index.aspx';", true);
            }
            catch (Exception)
            {
                throw;
            }
        }

        private string getPath(string dir)
        {
            return "..\\fotos\\" + dir + "\\";
        }
    }
}